package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.SysBook;
import com.ruoyi.system.domain.SysPost;

import java.util.List;

/**
 * 图书信息 服务层
 *
 * @author fly
 */
public interface ISysBookService {
    /**
     * 查询图书信息集合
     *
     * @param book 图书信息
     * @return 图书列表
     */
    List<SysBook> selectBookList(SysBook book);

    /**
     * 校验图书名称
     *
     * @param book 图书信息
     * @return 结果
     */
    public boolean checkBookNameUnique(SysBook book);

    /**
     * 校验图书编码
     *
     * @param book 图书信息
     * @return 结果
     */
    public boolean checkBookCodeUnique(SysBook book);
    /**
     * 新增保存图书信息
     *
     * @param book 图书信息
     * @return 结果
     */
    public int insertBook(SysBook book);

    /**
     * 删除图书信息
     *
     * @param bookId 图书ID
     * @return 结果
     */
    public int deleteBookById(Long bookId);

    /**
     * 批量删除图书信息
     *
     * @param bookIds 需要删除的图书ID
     * @return 结果
     */
    public int deleteBookByIds(Long[] bookIds);

    /**
     * 通过图书ID查询图书信息
     *
     * @param bookId 图书ID
     * @return 角色对象信息
     */
    public SysBook selectBookById(Long bookId);

    /**
     * 修改保存图书信息
     *
     * @param book 图书信息
     * @return 结果
     */
    public int updateBook(SysBook book);

    /**
     * 导入图书数据
     *
     * @param bookList 用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importBook(List<SysBook> bookList, Boolean isUpdateSupport, String operName);
}
